package br.com.itc.componentes.util.servico {
	
	import br.com.itc.componentes.MostraCursor;
	
	import mx.rpc.events.ResultEvent;

	public class ServicoJavaUtil {
		
		private static const MSG_ESPERA: String = "Realizando operação...";
		
		/*
		 * Recupera uma referência a um serviço Java.
		 */
		static public function getServico(operacao: String, destino: String, 
			funcaoRetorno: Function, cursorOcupado: int = MostraCursor.CURSOR_PESQUISAR, msgEsperaServico: String = null): ServicoJava {
				
        	var servico: ServicoJava = new ServicoJava();
			servico.destination = destino;
        	servico.addEventListener(ResultEvent.RESULT, funcaoRetorno);
        	servico.bloquearOperacao = true;
        	servico.mensagemEspera = ServicoJavaUtil.MSG_ESPERA;
        	servico.cursorOcupado = cursorOcupado;
        	
        	if(msgEsperaServico != null){
        		servico.mensagemEspera = msgEsperaServico;
        	}
        	var operacoes: Object = new Object();
        	operacoes[operacao];
        	servico.operations = operacoes;
        	
        	return servico; 
        }
	}
}